package com.meilai.project.entity.administration.seal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.meilai.project.dto.workflow.FlowBusinessDataSuperEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * <p>
 * 借用印章申请表
 * </p>
 *
 * @author xhy
 * @since 2022-01-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("borrow_seal_flow")
public class BorrowSealFlow extends FlowBusinessDataSuperEntity {

    /**
     * 公司ID
     */
    @ApiModelProperty(value = "公司ID")
    private Long company_id;

    /**
     * 印章类型ID
     */
    @ApiModelProperty(value = "印章类型ID")
    private Long seal_type_id;

    /**
     * 印章名称
     */
    @ApiModelProperty(value = "印章名称")
    private String seal_type_name;

    /**
     * 印章用途
     */
    @ApiModelProperty(value = "印章用途")
    private String purpose;

    /**
     * 借用时间
     */
    @ApiModelProperty(value = "借用时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime borrowing_time;

    /**
     * 预计归还时间
     */
    @ApiModelProperty(value = "预计归还时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime estimated_return_time;

    /**
     * 实际归还时间
     */
    @ApiModelProperty(value = "实际归还时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime return_time;

    /**
     * 申请人id
     */
    @ApiModelProperty(value = "申请人id")
    private Long applicant_id;

    /**
     * 申请人名称
     */
    @ApiModelProperty(value = "申请人名称")
    private String applicant_name;

    /**
     * 申请人部门ID
     */
    @ApiModelProperty(value = "申请人部门ID")
    private Long applicant_dept_id;

    /**
     * 申请人部门名称
     */
    @ApiModelProperty(value = "申请人部门名称")
    private String applicant_dept_name;

    /**
     * 是否可审批
     */
    @ApiModelProperty(value = "是否可审批")
    @TableField(exist = false)
    private boolean can_check = false;

    /**
     * 公司名称
     */
    @ApiModelProperty(value = "公司名称")
    @TableField(exist = false)
    private String company_name;
}
